// pages/tixian/tixian.js
var app = getApp();
var utils = require('../../utils/shop/formatShop.js');
Page({

  /**
   * 页面的初始数据
   */
  data: {
    initInfo: {},
    banklist: [],//商家供选择的银行卡列表
    userBanklist: [],
    index: 0,
    Method_Name: '',//提现方式 
    id: 0,//信息ID，判断是新增还是修改
    bankInfo: {
      Method_Name: '',
      Bank_Position: '',
      Account_Name: '',
      Account_Val: '',
      User_Method_ID: '',
    },
  },
 

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    wx.hideLoading();
    this.setData({
      id: options.id ? parseInt(options.id) : 0
    })
    
    if (this.data.id > 0) {
      app.setNavBarTitle('修改银行卡');
    } else {
      app.setNavBarTitle('添加银行卡');
    }    
  },

  //页面加载
  load: function () {
    //获取商家设置的可提现的银行名称
    var dataArgs = {
      act: 'get_shop_withdraw_method',
    };
    app.http_req(dataArgs, app.globalData.init.api_url, 'POST', this.getUserWithdrawMethod);   
  },

  //获取商家设置的银行卡列表
  getUserWithdrawMethod: function (res) {
    if (res.errorCode === 0) {
      //如果是默认，则显示第一个银行卡列表
      if (this.data.id > 0) {
        this.setData({
          banklist: res.data,
        })
      
        //获取用户已存在的提现方式
        var dataArgs = {
          act: 'get_user_withdraw_method',
          User_ID: app.globalData.userInfo.User_ID,
          User_Method_ID: this.data.id
        };
        app.http_req(dataArgs, app.globalData.init.api_url, 'POST', this.getUserbankcard_callback);
        
      } else {
        this.setData({
          banklist: res.data,
          index: 0,
          Method_Name: res.data[0]['Method_Name']
        })
      }     
    } else {
      wx.showModal({
        title: '提示',
        content: typeof res.msg != 'undefined' ? res.msg : '请求错误',
        showCancel: false,
        success: function () {
          wx.navigateBack({
            delta: 2,
          });
        }
      })
    }
  },

  //查询信息，绑定
  getUserbankcard_callback: function (res) {
    if (res.errorCode === 0) {
      /**
       * 判断提现方式选中值
       */      
      this.setData({
        bankInfo: res.data[0]
      })
      for (var bindex in this.data.banklist) {       
        if (String(res.data[0].Method_Name) == String(this.data.banklist[bindex].Method_Name)) { 
          this.setData({
            index: bindex,
            Method_Name: this.data.banklist[bindex]['Method_Name']
          })
        }
      }   
    }
  },

  /**
   * 选择银行名称
   */
  bindPickerChange: function (e) {    
    //this.data.Method_Name = this.data.banklist[e.detail.value]['Method_Name'];
    this.setData({
      index: e.detail.value,
      Method_Name: this.data.banklist[e.detail.value]['Method_Name']
    })
  },

  //提交手动申请
  formSubmit: function (form) {   
    var form_info = form.detail.value;
    //判断是否选择提现方式
    if (!this.data.Method_Name) {
      wx.showModal({
        title: '提示',
        content: '请选择提现方式',
      })
      return false;
    } 
    //判断开户行
    if (!form_info.Bank_Position){
      wx.showModal({
        title: '提示',
        content: '请输入开户行',
      })
      return false;
    }
    //判断开户人名
    if (!form_info.Account_Name) {
      wx.showModal({
        title: '提示',
        content: '请输入开户人名',
      })
      return false;
    } 
    //验证开户人名合法（2-4汉字）
    if (!utils.check_name(form_info.Account_Name)) {
      wx.showModal({
        title: '提示',
        content: '开户人名输入错误',
      })
      return false;
    } 
    //判断提现卡号
    if (!form_info.Account_Val) {
      wx.showModal({
        title: '提示',
        content: '请输入提现卡号',
      })
      return false;
    }

    var dataArgs = {
      User_ID: app.globalData.userInfo.User_ID,
      Method_Name: this.data.Method_Name,
      Account_Name: form_info.Account_Name,
      Account_Val: form_info.Account_Val,
      Bank_Position: form_info.Bank_Position
    };

    var banklist = this.data.banklist;
    var index = this.data.index;

    dataArgs.Method_Type = banklist[index].Method_Type;

    //根据ID判断是新增还是修改
    if (this.data.id > 0){
      dataArgs.act = 'update_user_withdraw_method';
      dataArgs.User_Method_ID = this.data.id;

      app.http_req(dataArgs, app.globalData.init.api_url, 'POST', this.bankCard_callback);
    } else {
      dataArgs.act = 'add_user_withdraw_method';
          
      app.http_req(dataArgs, app.globalData.init.api_url, 'POST', this.bankCard_callback);
    }   
  },

  //添加、修改银行卡回调
  bankCard_callback: function (res) {
    var that = this;
    if (res.errorCode == 0) {
      //返回来时页面
      wx.showToast({
        title: that.data.id ? '编辑成功' : '添加成功',
        icon: 'success',
        duration: 1000,
        success: function () {
          setTimeout(function () {
            //返回上一页
            wx.navigateBack({
              delta: 1
            });
          }, 1000);
        }
      });
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    //检查用户是否登录
    if (!app.globalData.userInfo) {
      app.login('', this.load);
    } else {
      this.load();
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

})